package com.demo.rabbitmq.config;

public enum PluginDirectQueueEnum {

    PLUGIN_DIRECT_DELAY_QUEUE("plugin_direct_delay_queue", PluginDirectExchangeEnum.PLUGIN_DIRECT_DELAY_EXCHANGE, com.demo.rabbitmq.config.PluginDirectRoutingKeyEnum.PLUGIN_DIRECT_DELAY_QUEUE_ROUTING_KEY),
    ;

    private final String queueName;
    private PluginDirectExchangeEnum exchangeEnum;
    private PluginDirectRoutingKeyEnum routingKeyEnum;

    PluginDirectQueueEnum(String queueName, PluginDirectExchangeEnum exchangeEnum, PluginDirectRoutingKeyEnum routingKeyEnum) {
        this.queueName = queueName;
        this.exchangeEnum = exchangeEnum;
        this.routingKeyEnum = routingKeyEnum;
    }

    public PluginDirectExchangeEnum getExchange() {
        return this.exchangeEnum;
    }

    public String getQueueName() {
        return queueName;
    }

    public String getRoutingKeyName() {
        return this.routingKeyEnum.getRoutingKeyName();
    }
}
